﻿#define _CRT_SECURE_NO_WARNINGS
//作者：爱吃糖的boy
#include<stdio.h>
int main() 
{
	//计算最⼤公约数
	//输⼊2个整数m和n，计算m和n的最⼤公约数，并打印出结果。
	printf("输入两个整数：\n");
	int a, b;
	scanf("%d  %d",&a,&b);
	int c;
	next:
	if (a >= b) 
	{
		for (int i = 1; i <= b; i++)
		{
			if (a % i == 0 && b % i == 0) 
			{
				c = i;
			}
		}
	}
	else
	{
		int n = a;
		a = b; 
		b = n;
		goto next;
	}
	printf("%d\n",c);
	return 0;
}

//int main()
//{
//	printf("输入两个整数：\n");
//	int m = 0;
//	int n = 0;
//	scanf("%d %d", &m, &n);//18 24
//	//辗转相除法
//	int k = 0;
//	//当n不能整除m，即k≠0，更新两个最值重复步骤计算n与m%n的最⼤公约数
//	while (k = m % n)
//	{
//		m = n;
//		n = k;
//	}
//	printf("%d\n", n);
//	return 0;
//}
////辗转相除法递归实现 gcd(a,b)的结果为a和b的最⼤公约数
//int gcd(int a, int b) {
//	//特判除数为0时的情况
//	if (b == 0) {
//		return a;
//	}
//	//返回b和a%b的最⼤公约数
//	return gcd(b, a % b);
//}